home *** CD-ROM | disk | FTP | other *** search
/ Compendium Deluxe 2 / LSD and 17bit Compendium Deluxe - Volume II.iso / a / prog / misc / guienv374.lha / GUIEnvironment / SASC / Include / guienvsupport.h < prev    next >
C/C++ Source or Header  |  1994-09-14  |  3KB  |  103 lines

  1. /****************************************************************************
  2.  
  3. $RCSfile: guienvsupport.h $
  4.  
  5. $Revision: 1.3 $
  6.     $Date: 1994/09/14 20:01:05 $
  7.  
  8.     Some needful extra definitions and functions for GUIEnvironment
  9.  
  10.     SAS/C V6.51
  11.  
  12.   Copyright © 1994, Carsten Ziegeler
  13.                     Augustin-Wibbelt-Str.7, 33106 Paderborn, Germany
  14.  
  15.  
  16. ****************************************************************************/
  17.  
  18. #ifndef LIBRARIES_GUIENVSUPP_H
  19. #define LIBRARIES_GUIENVSUPP_H TRUE
  20.  
  21. #include <graphics/displayinfo.h>
  22. #include <libraries/gadtools.h>
  23. #include <utility/hooks.h>
  24. #include <proto/exec.h>
  25. #include <proto/intuition.h>
  26. #include <string.h>
  27.  
  28. #include "guienv.h"
  29.  
  30. /* -------------- screen support: displayIDs ----------------------------- */
  31.  
  32. #define GES_HiresPalID  (HIRES_KEY + PAL_MONITOR_ID)
  33. #define GES_HiresID     (HIRES_KEY + DEFAULT_MONITOR_ID)
  34. #define GES_LoresPalID  (LORES_KEY + PAL_MONITOR_ID)
  35. #define GES_LoresID     (LORES_KEY + DEFAULT_MONITOR_ID)
  36.  
  37.  
  38. /* -------------------------- tag data support --------------------------- */
  39.  
  40. #define GEG_ShiftLeft    (256*256*256)
  41. #define GEG_ShiftTop     (256*256)
  42. #define GEG_ShiftWidth   256
  43. #define GEG_ShiftHeight  1
  44.  
  45. #define GADDESC(l,t,w,h)   (GEG_ShiftLeft*(l)+GEG_ShiftTop*(t)+GEG_ShiftWidth*(w)+h)
  46. #define GADOBJS(l,t,w,h)   (GEG_ShiftLeft*(l)+GEG_ShiftTop*(t)+GEG_ShiftWidth*(w)+h)
  47.  
  48. /* ------------------------------- Font support ------------------------- */
  49.  
  50. struct TextAttr topaz8font; /* don't use this directly !!! */
  51.  
  52.  
  53. struct TextAttr *TopazAttr(VOID)
  54. {
  55.   topaz8font.ta_Name = "topaz.font";
  56.   topaz8font.ta_YSize= 8;
  57.  
  58.   return &topaz8font;
  59. }
  60.  
  61.  
  62. /* ---------------------------- Hook functions -------------------------- */
  63.  
  64. /* WARNING: Not exported ! Don't call this directly !
  65.             Use the Amiga hooks and GEUpdateEntryGadgetAHook instead */
  66. BOOL __asm GEHUpdateEntryGadget(register __a0 struct GUIInfo * gui,
  67.                                 register __a1 struct Gadget *gadget)
  68. {
  69.   struct GUIGadgetInfo *GINFO;
  70.   LONG   *VA;
  71.   struct StringInfo *SI;
  72.  
  73.   GINFO = gadget->UserData;
  74.   VA = GetGUIGadget(gui, gadget->GadgetID, GEG_VarAddress);
  75.   if (VA)
  76.   {
  77.     SI = gadget->SpecialInfo;
  78.     if (GINFO->kind == INTEGER_KIND)
  79.     {
  80.       *VA = SI->LongInt;
  81.       return TRUE;
  82.     }
  83.     if (GINFO->kind == STRING_KIND)
  84.     {
  85.       strcpy(VA, SI->Buffer);
  86.       return TRUE;
  87.     }
  88.   }
  89.   return FALSE;
  90. }
  91.  
  92. LONG __asm GEUpdateEntryGadgetAHook(register __a0 struct Hook *hook,
  93.                                     register __a2 struct Gadget *gadget,
  94.                                     register __a1 APTR unused)
  95. {
  96.   if (GEHUpdateEntryGadget(hook->h_Data, gadget) == TRUE)
  97.     return 1;
  98.   else
  99.     return 0;
  100. }
  101.  
  102. #endif
  103.